//
//  SetStrokeColorCommand.h
//  Test
//
//  Created by 杨德龙 on 2017/11/24.
//  Copyright © 2017年 ___杨德龙___. All rights reserved.
//

#import "Command.h"

typedef void (^RGBValuesProvider)(CGFloat *red,CGFloat *green,CGFloat *blue);
typedef void (^PostColorUpdateProvider)(UIColor *color);

@class SetStrokeColorCommand;

@protocol SetStrokeColorCommandDelegate

- (void)command:(SetStrokeColorCommand *)command
didRequestColorComponetsForRed:(CGFloat *)red
green:(CGFloat *)green
blue:(CGFloat *)blue;

- (void)command:(SetStrokeColorCommand *)command
didFinishColorUpdateWithColor:(UIColor *)color;

@end

@interface SetStrokeColorCommand : Command
{
    @private
    __weak id<SetStrokeColorCommandDelegate>delegate_;
    RGBValuesProvider  RGBValuesProvider_;
    PostColorUpdateProvider postColorUpdateProvider_;
}

@property (nonatomic,weak)id<SetStrokeColorCommandDelegate>delegate;
@property (nonatomic,copy)RGBValuesProvider RGBValuesProvider;
@property (nonatomic,copy)PostColorUpdateProvider postColorUpdateProvider;


@end



















































